1 聚类方法

1 聚类的基本概念

1.1 相似度 距离

聚类的对象是观测数据或者样本集合. 假设有 n 个样本, m 个属性(feature), 将样本集合用矩阵 X 表示 X=[xij]m×n=[x11⋯x1n⋮⋱⋮xm1⋯xmn].
矩阵的列表示样本, 行表示属性.

1.1.1 Minkowski 距离

在 K近邻法中我们定义了距离, 现在重新叙述一下记号:

Minkowski 距离

给定样本集合 X⊂Rm, xi=(x1i,⋯,xmi)T∈X,xj=(x1j,⋯,xmj)T∈X. 定义 xi,xj 的Minkowski 距离为 dij=(∑k=1m|xki−xkj|p)1p,p≥1.

  • p=2 时, 称为 Euclide 距离: dij=(∑k=1m|xki−xkj|2)12;
  • p=1 时, 称为 Manhattan 距离: dij=∑k=1m|xki−xkj|;
  • p=∞ 时, 称为 Chebyshev 距离: dij=maxk|xki−xkj|.

1.1.2 Mahalanobis 距离 (马氏距离)

Mahalanobis 距离

给定样本集合 X=[xij]m×n, 协方差矩阵 为 S. 则 xi,xj 的Mahalanobis距离定义为 dij=[(xi−xj)TS−1(xi−xj)]12.
xi,xj 是 X 的第 i,j 列.

当 S=I, 马氏距离就是欧式距离.

1.1.3 相关系数

相关系数

xi,xj 的相关系数定义为 rij=∑k=1m(xki−x―i)(xkj−x―j)[∑k=1m(xki−x―i)2∑k=1m(xkj−x―j)2]12, 其中 x―i=1m∑k=1mxki,x―j=1m∑k=1mxkj.

1.1.4 夹角余弦

从向量的观点看, xi,xj 的相似度还可以用夹角余弦sij=∑k=1mxkixkj[∑k=1mxki2∑k=1mxkj2]12.


Pasted image 20241128155122.png|500
选择合适的距离或者相似度非常重要. 例如在上图中, 从距离来看 A,B 比 A,C 更相似; 从相关系数角度看, A,C 比 A,B 更相似.

1.2 类或簇

类或簇是样本的子集. 硬聚类规定样本只能属于一个类, 软聚类则允许同时属于多个类. 本章考虑硬聚类.
用 G 表示类或簇, 用 xi,xj 表示类中的样本, nG 表示 G 中样本个数, dij 表示 xi,xj 距离.

类的等价定义

给定正数 T.

  1. ∀xi,xj∈G:dij≤T, 则 G 是一个类.
  2. ∀xi,∃xj∈G:dij≤T, 则 G 是一个类.
  3. ∀xi∈G,1nG−1∑xj∈Gdij≤T, 则 G 是一个类.
  4. 给定正数 V. ∀xi,xj, dij 满足 1nG(nG−1)∑xi∈G∑xj∈Gdij≤T,dij≤V, 则 G 是一个类.
类的常用特征

  1. 均值/中心 x―G=1nG∑i=1nGxi.
  2. 直径 DG=maxxi,xj∈Gdij.
  3. 样本散布矩阵 AG=∑i=1nG(xi−x―G)(xi−x―G)T;
    样本协方差矩阵 SG=1m−1AG=1m−1∑i=1nG(xi−x―G)(xi−x―G)T.

1.3 类间距离

类 Gp,Gq 之间的距离 Dpq 也称为连接(linkage). 设 np=|Gp|,nq=|Gq|. 用 x―p,x―q 表示两者的中心.

类间距离

  1. 最短距离(single linkage) Dpq=min{dij|xi∈Gp,xj∈Gq}.
  2. 最长距离/完全连接(complete linkage) Dpq=max{dij|xi∈Gp,xj∈Gq}.
  3. 中心距离 Dpq=dx―px―q.
  4. 平均距离 Dpq=1npnq∑xi∈Gp∑xj∈Gqdij.

2 层次聚类

层次聚类假设类别间有层次结构(有点类似决策树), 分成

两种方法. 层次聚类属于硬聚类. 本文只考虑聚合聚类.

聚合聚类算法

输入 n 个样本组成的样本集合; 样本间的距离
输出 样本集合的层次化聚类

  1. 计算 Euclide 距离 {dij}, 记为 D=[dij]n×n.
  2. 构造 n 个类,每个类包含一个样本.
  3. 合并类间隔距离最小的两个类, 按其中的最短距离作为类间距离, 构造一个新类.
  4. 计算新类与当前各类的距离. 若类的个数为 1, 终止计算, 否则会到 3.

复杂度是 O(n3m). 事实上它构造了一个二叉树.

3 K 均值聚类 (K-Means)

3.1 模型与算法